package net.zigin.nhi.could.waste.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class HtmlUtils {

	public static String delHtmlTag(String htmlStr) {
		String regEx_script = "<script[^>]*?>[\\s\\S]*?<\\/script>"; // 定义script的正则表达式
		String regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>"; // 定义style的正则表达式
		String regEx_special = "\\&[a-zA-Z]{1,10};";
		String regEx_html1 = "</?[^>]+>"; // 定义HTML标签的正则表达式
		String regEx_html2 = "\\\\s*|\\t|\\r|\\n"; // 定义HTML空格,回车,换行符,制表符的正则表达式

		Pattern p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);
		Matcher m_script = p_script.matcher(htmlStr);
		htmlStr = m_script.replaceAll(""); // 过滤script标签

		Pattern p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);
		Matcher m_style = p_style.matcher(htmlStr);
		htmlStr = m_style.replaceAll(""); // 过滤style标签
		
		Pattern p_special = Pattern.compile(regEx_special, Pattern.CASE_INSENSITIVE);
		Matcher m_special = p_special.matcher(htmlStr);
		htmlStr = m_special.replaceAll(""); // 过滤特殊符号

		Pattern p_html1 = Pattern.compile(regEx_html1, Pattern.CASE_INSENSITIVE);
		Matcher m_html1 = p_html1.matcher(htmlStr);
		htmlStr = m_html1.replaceAll(""); // 过滤html标签
		
		Pattern p_html2 = Pattern.compile(regEx_html2, Pattern.CASE_INSENSITIVE);
		Matcher m_html2 = p_html2.matcher(htmlStr);
		htmlStr = m_html2.replaceAll(""); // 过滤空格,回车,换行符,制表符
		
		return htmlStr.trim(); // 返回文本字符串
	}

}
